<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>PowerVR SDK</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
<table width="100%">
  <tr>
    <td width="33%">
      <p align="left">&nbsp;<a href="http://www.imgtec.com"><img border="0" src="IMGLogo.jpg" width="200" height="30"></a></p>
    </td>
    <td width="33%">
      <p align="center"><font color="#808080" face="Arial" size="2">PowerVR Software Development Kit</a></font></p>
    </td>
    <td width="34%">
      <p align="right"><a href="http://www.powervr.com"><img border="0" src="PVRlogo.jpg" width="200" height="27"></a></p>
    </td>
  </tr>
</table>
<hr>
</head><body>
<!-- Generated by Doxygen 1.3.6 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<h1>pvrengine::UniformHandler Class Reference</h1>A class for handling shader uniforms.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="UniformHandler_8h-source.html">UniformHandler.h</a>&gt;</code>
<p>
Collaboration diagram for pvrengine::UniformHandler:<p><center><img src="classpvrengine_1_1UniformHandler__coll__graph.png" border="0" usemap="#pvrengine_1_1UniformHandler__coll__map" alt="Collaboration graph"></center>
<map name="pvrengine_1_1UniformHandler__coll__map">
<area href="classpvrengine_1_1LightManager.html" shape="rect" coords="19,84,189,111" alt="">
<area href="classpvrengine_1_1Manager.html" shape="rect" coords="7,7,201,33" alt="">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="classpvrengine_1_1UniformHandler-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classpvrengine_1_1UniformHandler.html#a0">UniformHandler</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classpvrengine_1_1UniformHandler.html#a1">~UniformHandler</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>PVRTMat4&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classpvrengine_1_1UniformHandler.html#a2">getProjection</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classpvrengine_1_1UniformHandler.html#a3">setProjection</a> (const VERTTYPE fFOV, const VERTTYPE fAspectRatio, const VERTTYPE fNear, const VERTTYPE fFar, const bool bRotate)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>PVRTMat4&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classpvrengine_1_1UniformHandler.html#a4">getView</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classpvrengine_1_1UniformHandler.html#a5">setView</a> (const PVRTVec3 &amp;vFrom, const PVRTVec3 &amp;vTo, const PVRTVec3 &amp;vUp)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>PVRTMat4&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classpvrengine_1_1UniformHandler.html#a6">getWorld</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classpvrengine_1_1UniformHandler.html#a7">setScene</a> (CPVRTModelPOD *psScene)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classpvrengine_1_1UniformHandler.html#a8">setContext</a> (SPVRTContext *pContext)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>SPVRTContext *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classpvrengine_1_1UniformHandler.html#a9">getContext</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classpvrengine_1_1UniformHandler.html#a10">setFrame</a> (float fFrame)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classpvrengine_1_1UniformHandler.html#a11">DoFrameUniform</a> (const <a class="el" href="classpvrengine_1_1Uniform.html">Uniform</a> &amp;sUniform)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classpvrengine_1_1UniformHandler.html#a12">ResetFrameUniforms</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classpvrengine_1_1UniformHandler.html#a13">CalculateMeshUniform</a> (const <a class="el" href="classpvrengine_1_1Uniform.html">Uniform</a> &amp;sUniform, SPODMesh *pMesh, SPODNode *pNode=NULL)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classpvrengine_1_1UniformHandler.html#a14">CalculateFrameUniform</a> (const <a class="el" href="classpvrengine_1_1Uniform.html">Uniform</a> &amp;sUniform)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classpvrengine_1_1UniformHandler.html#a15">BindFrameUniform</a> (const <a class="el" href="classpvrengine_1_1Uniform.html">Uniform</a> &amp;sUniform)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classpvrengine_1_1UniformHandler.html#a16">CalculateMaterialUniform</a> (const <a class="el" href="classpvrengine_1_1Uniform.html">Uniform</a> *pUniform, <a class="el" href="classpvrengine_1_1Material.html">Material</a> *pMaterial)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classpvrengine_1_1UniformHandler.html#a17">setLightManager</a> (<a class="el" href="classpvrengine_1_1LightManager.html">LightManager</a> *pLightManager)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classpvrengine_1_1LightManager.html">LightManager</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classpvrengine_1_1UniformHandler.html#a18">getLightManager</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classpvrengine_1_1UniformHandler.html#a19">setWorld</a> (const PVRTMat4 &amp;mWorld)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classpvrengine_1_1UniformHandler.html#a20">isVisibleSphere</a> (const PVRTVec3 &amp;v3Centre, const VERTTYPE fRadius)</td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
A class for handling shader uniforms. 
<p>
<dl compact><dt><b>Description:</b></dt><dd>A class for handling shader uniforms. </dd></dl>

<p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="a0" doxytag="pvrengine::UniformHandler::UniformHandler" ></a><p>
<br><br><h3>UniformHandler</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> pvrengine::UniformHandler::UniformHandler </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Description:</b></dt><dd>Blank constructor </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a1" doxytag="pvrengine::UniformHandler::~UniformHandler" ></a><p>
<br><br><h3>~UniformHandler</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> pvrengine::UniformHandler::~<a class="el" href="classpvrengine_1_1UniformHandler.html">UniformHandler</a> </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Description:</b></dt><dd>Destructor </dd></dl>
    </td>
  </tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="a15" doxytag="pvrengine::UniformHandler::BindFrameUniform" ></a><p>
<br><br><h3>BindFrameUniform</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void pvrengine::UniformHandler::BindFrameUniform </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="classpvrengine_1_1Uniform.html">Uniform</a> &amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>sUniform</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Inputs:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>sUniform</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl compact><dt><b>Description:</b></dt><dd>Binds a frame uniform </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a14" doxytag="pvrengine::UniformHandler::CalculateFrameUniform" ></a><p>
<br><br><h3>CalculateFrameUniform</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void pvrengine::UniformHandler::CalculateFrameUniform </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="classpvrengine_1_1Uniform.html">Uniform</a> &amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>sUniform</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Inputs:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>sUniform</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl compact><dt><b>Description:</b></dt><dd>Calculates the value of a uniform that applies to this entire frame </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a16" doxytag="pvrengine::UniformHandler::CalculateMaterialUniform" ></a><p>
<br><br><h3>CalculateMaterialUniform</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void pvrengine::UniformHandler::CalculateMaterialUniform </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="classpvrengine_1_1Uniform.html">Uniform</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>pUniform</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="classpvrengine_1_1Material.html">Material</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>pMaterial</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Inputs:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>pUniform</em>&nbsp;</td><td></td></tr>
    <tr><td valign=top><em>pMaterial</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl compact><dt><b>Description:</b></dt><dd>Calculates and binds a uniform that applies to any mesh using this material. </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a13" doxytag="pvrengine::UniformHandler::CalculateMeshUniform" ></a><p>
<br><br><h3>CalculateMeshUniform</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void pvrengine::UniformHandler::CalculateMeshUniform </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="classpvrengine_1_1Uniform.html">Uniform</a> &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>sUniform</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>SPODMesh *&nbsp;</td>
          <td class="mdname" nowrap> <em>pMesh</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>SPODNode *&nbsp;</td>
          <td class="mdname" nowrap> <em>pNode</em> = NULL</td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Inputs:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>sUniform</em>&nbsp;</td><td></td></tr>
    <tr><td valign=top><em>pMesh</em>&nbsp;</td><td></td></tr>
    <tr><td valign=top><em>pNode</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl compact><dt><b>Description:</b></dt><dd>Calculates and binds a uniform that is valid for this mesh </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a11" doxytag="pvrengine::UniformHandler::DoFrameUniform" ></a><p>
<br><br><h3>DoFrameUniform</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void pvrengine::UniformHandler::DoFrameUniform </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="classpvrengine_1_1Uniform.html">Uniform</a> &amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>sUniform</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Inputs:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>sUniform</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl compact><dt><b>Description:</b></dt><dd>Calculates and binds a uniform that applies to the entire frame </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a9" doxytag="pvrengine::UniformHandler::getContext" ></a><p>
<br><br><h3>getContext</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> SPVRTContext* pvrengine::UniformHandler::getContext </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Returns:</b></dt><dd>Current context for this uniformhandler </dd></dl>
<dl compact><dt><b>Description:</b></dt><dd>gets current context for this uniformhandler </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a18" doxytag="pvrengine::UniformHandler::getLightManager" ></a><p>
<br><br><h3>getLightManager</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="classpvrengine_1_1LightManager.html">LightManager</a>* pvrengine::UniformHandler::getLightManager </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Returns:</b></dt><dd>light manager currently selected </dd></dl>
<dl compact><dt><b>Description:</b></dt><dd></dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a2" doxytag="pvrengine::UniformHandler::getProjection" ></a><p>
<br><br><h3>getProjection</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> PVRTMat4 pvrengine::UniformHandler::getProjection </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Returns:</b></dt><dd>Projection matrix </dd></dl>
<dl compact><dt><b>Description:</b></dt><dd>Accessor for projection matrix </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a4" doxytag="pvrengine::UniformHandler::getView" ></a><p>
<br><br><h3>getView</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> PVRTMat4 pvrengine::UniformHandler::getView </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Returns:</b></dt><dd>View matrix </dd></dl>
<dl compact><dt><b>Description:</b></dt><dd>Accessor for View matrix </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a6" doxytag="pvrengine::UniformHandler::getWorld" ></a><p>
<br><br><h3>getWorld</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> PVRTMat4 pvrengine::UniformHandler::getWorld </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Returns:</b></dt><dd>World matrix </dd></dl>
<dl compact><dt><b>Description:</b></dt><dd>Accessor for World matrix </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a20" doxytag="pvrengine::UniformHandler::isVisibleSphere" ></a><p>
<br><br><h3>isVisibleSphere</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> bool pvrengine::UniformHandler::isVisibleSphere </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const PVRTVec3 &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>v3Centre</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const VERTTYPE&nbsp;</td>
          <td class="mdname" nowrap> <em>fRadius</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Inputs:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>v3Centre</em>&nbsp;</td><td>centre of sphere to be checked </td></tr>
    <tr><td valign=top><em>fRadius</em>&nbsp;</td><td>radius of sphere to be checked </td></tr>
  </table>
</dl>
<dl compact><dt><b>Description:</b></dt><dd>Checks if the sphere defined by the centre coordinates and of the passed radius is visible according to the current projection matrix. Requires the world, view and projection matrices to defined in order to function correctly. </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a12" doxytag="pvrengine::UniformHandler::ResetFrameUniforms" ></a><p>
<br><br><h3>ResetFrameUniforms</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void pvrengine::UniformHandler::ResetFrameUniforms </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Description:</b></dt><dd>Clears the record of which frame uniforms have been calculated so that they will be calculated again for a new frame. </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a8" doxytag="pvrengine::UniformHandler::setContext" ></a><p>
<br><br><h3>setContext</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void pvrengine::UniformHandler::setContext </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">SPVRTContext *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>pContext</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Inputs:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>pContext</em>&nbsp;</td><td>Current context for this uniformhandler to use </td></tr>
  </table>
</dl>
<dl compact><dt><b>Description:</b></dt><dd>sets current context for this uniformhandler to use </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a10" doxytag="pvrengine::UniformHandler::setFrame" ></a><p>
<br><br><h3>setFrame</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void pvrengine::UniformHandler::setFrame </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">float&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>fFrame</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Inputs:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>fFrame</em>&nbsp;</td><td>- this POD's current frame of animation </td></tr>
  </table>
</dl>
<dl compact><dt><b>Description:</b></dt><dd>Accessor for projection matrix </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a17" doxytag="pvrengine::UniformHandler::setLightManager" ></a><p>
<br><br><h3>setLightManager</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void pvrengine::UniformHandler::setLightManager </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="classpvrengine_1_1LightManager.html">LightManager</a> *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>pLightManager</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Inputs:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>pLightManager</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl compact><dt><b>Description:</b></dt><dd></dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a3" doxytag="pvrengine::UniformHandler::setProjection" ></a><p>
<br><br><h3>setProjection</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void pvrengine::UniformHandler::setProjection </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const VERTTYPE&nbsp;</td>
          <td class="mdname" nowrap> <em>fFOV</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const VERTTYPE&nbsp;</td>
          <td class="mdname" nowrap> <em>fAspectRatio</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const VERTTYPE&nbsp;</td>
          <td class="mdname" nowrap> <em>fNear</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const VERTTYPE&nbsp;</td>
          <td class="mdname" nowrap> <em>fFar</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const bool&nbsp;</td>
          <td class="mdname" nowrap> <em>bRotate</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Inputs:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>fFOV</em>&nbsp;</td><td>- the field of view </td></tr>
    <tr><td valign=top><em>fAspectRatio</em>&nbsp;</td><td>- width vs height ratio of viewport </td></tr>
    <tr><td valign=top><em>fNear</em>&nbsp;</td><td>- near plane of view frustum </td></tr>
    <tr><td valign=top><em>fFar</em>&nbsp;</td><td>- far plane of view frustum </td></tr>
    <tr><td valign=top><em>bRotate</em>&nbsp;</td><td>- true for portrait mode </td></tr>
  </table>
</dl>
<dl compact><dt><b>Description:</b></dt><dd>Calculates the projection matrix from passed values. </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a7" doxytag="pvrengine::UniformHandler::setScene" ></a><p>
<br><br><h3>setScene</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void pvrengine::UniformHandler::setScene </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">CPVRTModelPOD *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>psScene</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Inputs:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>psScene</em>&nbsp;</td><td>PODScene currently being rendered </td></tr>
  </table>
</dl>
<dl compact><dt><b>Description:</b></dt><dd>Accessor for projection matrix </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a5" doxytag="pvrengine::UniformHandler::setView" ></a><p>
<br><br><h3>setView</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void pvrengine::UniformHandler::setView </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const PVRTVec3 &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>vFrom</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const PVRTVec3 &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>vTo</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const PVRTVec3 &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>vUp</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Inputs:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>vFrom</em>&nbsp;</td><td>- position coordinates of viewer </td></tr>
    <tr><td valign=top><em>vTo</em>&nbsp;</td><td>- vector indicating the centre of the view </td></tr>
    <tr><td valign=top><em>vUp</em>&nbsp;</td><td>- vector indicating the orientation of the view </td></tr>
  </table>
</dl>
<dl compact><dt><b>Description:</b></dt><dd>Calculates the view matrix from passed values. </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a19" doxytag="pvrengine::UniformHandler::setWorld" ></a><p>
<br><br><h3>setWorld</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void pvrengine::UniformHandler::setWorld </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const PVRTMat4 &amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>mWorld</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Inputs:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>mWorld</em>&nbsp;</td><td>world matrix </td></tr>
  </table>
</dl>
<dl compact><dt><b>Description:</b></dt><dd>sets the world matric for current section of render. Calculates WorldViewProjection matrix at the same time. </dd></dl>
    </td>
  </tr>
</table>

<p>
Here is the call graph for this function:<p><center><img src="classpvrengine_1_1UniformHandler_a19_cgraph.png" border="0" usemap="#classpvrengine_1_1UniformHandler_a19_cgraph_map" alt=""></center>
<map name="classpvrengine_1_1UniformHandler_a19_cgraph_map">
<area href="classpvrengine_1_1Uniform.html#a4" shape="rect" coords="319,7,500,34" alt="">
<area href="classpvrengine_1_1Uniform.html#a2" shape="rect" coords="300,58,519,84" alt="">
</map>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="UniformHandler_8h-source.html">UniformHandler.h</a></ul>
<br>
<br>
<P align=left><FONT size=2><STRONG><A 
   href="http://www.imgtec.com/powervr/insider/legal/index.asp">Copyright</A> � 
   1999-2008, Imagination Technologies Ltd.</STRONG></FONT></P>
<hr>
<address style="align: left;"><small><FONT color=f0f>
Generated by <a href="http://www.doxygen.org/index.html">DOXYGEN</a> 1.3.6</small></address>
</body>
</html>
